savelyev_solver_module Module



Functions

public function rplusk(x, dif, alfa2)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif
real(kind=wp), intent(in) :: alfa2

Return Value real(kind=wp)

public function rplusk2(x, dif, alfa2)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif
real(kind=wp), intent(in) :: alfa2

Return Value real(kind=wp)

public function rmink(x, dif, alfa2)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif
real(kind=wp), intent(in) :: alfa2

Return Value real(kind=wp)

public function rmink2(x, dif, alfa2)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif
real(kind=wp), intent(in) :: alfa2

Return Value real(kind=wp)

public function rs(x, alfa2)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: alfa2

Return Value real(kind=wp)

public function qf(x)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)

public function k2(x, dif)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif

Return Value real(kind=wp)

public function kinv(x, dif)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif

Return Value real(kind=wp)

public function kinv2(x, dif)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: dif

Return Value real(kind=wp)


Subroutines

public subroutine savelyev_solver(alfa2, nt, h, dt, n, ybeg, yend, d1, d2, d3, y)

разностная схема Савельева для уравнения Фоккера-Планка

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: alfa2
integer, intent(in) :: nt
real(kind=wp), intent(in) :: h
real(kind=wp), intent(in) :: dt
integer, intent(in) :: n
real(kind=wp), intent(in) :: ybeg
real(kind=wp), intent(in) :: yend
real(kind=wp), intent(in) :: d1(n+1)
real(kind=wp), intent(in) :: d2(n+1)
real(kind=wp), intent(in) :: d3(n+1)
real(kind=wp), intent(inout) :: y(n)

public subroutine savelyev_abccoef(alfa2, a, b, c, f, y, dt, n, ybeg, yend, xx, h, d1, d2, d3)

-- fill abc matrix

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: alfa2
real(kind=wp), intent(inout) :: a(n)
real(kind=wp), intent(inout) :: b(n)
real(kind=wp), intent(inout) :: c(n)
real(kind=wp), intent(inout) :: f(n)
real(kind=wp), intent(inout) :: y(n)
real(kind=wp), intent(in) :: dt
integer, intent(in) :: n
real(kind=wp), intent(in) :: ybeg
real(kind=wp), intent(in) :: yend
real(kind=wp), intent(in) :: xx(n+1)
real(kind=wp), intent(in) :: h
real(kind=wp), intent(in) :: d1(n+1)
real(kind=wp), intent(in) :: d2(n+1)
real(kind=wp), intent(in) :: d3(n+1)

public subroutine tridag(a, b, c, r, u, n)

создает трехдиагональнйю матрицу

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: a(n)
real(kind=wp), intent(in) :: b(n)
real(kind=wp), intent(in) :: c(n)
real(kind=wp), intent(in) :: r(n)
real(kind=wp), intent(inout) :: u(n)
integer, intent(in) :: n